import router from "@/router"
import axios from "axios"
import { ElMessage } from "element-plus"


const request = axios.create({
    baseURL: '/api',
    timeout: 10000,
    headers: { 'X-Custom-Header': 'foobar' }
})


// 添加请求拦截器
request.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    let userInfo = localStorage.getItem('loginUser')
    if(userInfo){
        config.headers.token = JSON.parse(userInfo).token
    }
    return config
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
})

// 添加响应拦截器
request.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response.data
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    if(error.response.status == 401){
        ElMessage.error('连接超时，请重新登录！')
        router.push('/login')
    }
    // 对响应错误做点什么
    return Promise.reject(error)
})

export default request
